﻿#define _CRT_SECURE_NO_WARNINGS 1
//算术操作符。分别是：+, -, *, %, / 

//例如+ ，-
//#include<stdio.h>
//int main()
//{
//	int x = 4 + 22;
//	int y = 45 - 2;
//	printf("%d\n", x);
//	printf("%d\n", y);
//
//	return 0;
//}
 

//例如* 
//#include <stdio.h>
//int main()
//{
//	int num = 5;
//	printf("%d\n", num * num);
//	return 0;
//}

//例如  /
//#include <stdio.h>
//int main()
//{
//	float x = 6 / 4;
//	int y = 6 / 4;
//	printf("%f\n", x); 
//		printf("%d\n", y); 
//		return 0;
//}
//如果希望得到浮点数的结果，两个运算数必须⾄少有⼀个浮点数，这时C语⾔就会进⾏浮点数除法。
//#include <stdio.h>
//int main()
//{
//	float x = 6.0 / 4; //或者6/4.0
//	printf("%f\n", x);
//	return 0;
//}


//例如%
//#include<stdio.h>
//int main()
//{
//	int x = 11 % 2;
//	printf("%d", x);
//	return 0;
//}
//负数求模的规则是，结果的正负号由第⼀个运算数的正负号决定。
//#include <stdio.h>
//int main()
//{
//	printf("%d\n", 11 % -5); // 1
//	printf("%d\n", -11 % -5); // -1
//	printf("%d\n", -11 % 5); // -1
//	return 0;
//}
 
 
//复合赋值符
//在写代码时，我们经常可能对⼀个数进⾏⾃增、⾃减的操作，如下代码：

//int a = 10;
//a = a + 3;
//a = a - 2;
//这样代码C语⾔给提供了更加⽅便的写法：

//int a = 10;
//a += 3;
//a -= 2;


//前置++
//int a = 10;
//int b = ++a;//++的操作数是a，是放在a的前⾯的，就是前置++
//printf("a=%d b=%d\n", a, b);
//计算⼝诀：先 + 1，后使⽤；
//a原来是10，先 + 1，后a变成了11，再使⽤就是赋值给b，b得到的也是11，所以计算技术后，a和b都是11，相当于这样的代码：
//int a = 10;
//a = a + 1;
//b = a;
//printf("a=%d b=%d\n", a, b);


//后置++
//int a = 10;
//int b = a++;//++的操作数是a，是放在a的后⾯的，就是后置++
//printf("a=%d b=%d\n", a, b);
//
//计算⼝诀：先使⽤，后 + 1
//a原来是10，先使⽤，就是先赋值给b，b得到了10，然后再 + 1，然后a变成了11，所以直接结束后a是11，b是10，相当于这样的代码：
//int a = 10;
//int b = a;
//a = a + 1;
//printf("a=%d b=%d\n", a, b);

//**********前置和后置一样***************


//强制类型转换；
//
//在操作符中还有⼀种特殊的操作符是强制类型转换，语法形式很简单，形式如下：
//	int a = 3.14;//a的是int类型, 3.14是double类型，两边的类型不⼀致，编译器会报警为了消除这个警告，我们可以使⽤强制类型转换：
//int a = (int)3.14;//意思是将3.14强制类型转换int类型，这种强制类型转换只取整数部分
//
//俗话说，强扭的⽠不甜，我们使⽤强制类型转换都是万不得已的时候使⽤，如果不需要强制类型转化
//就能实现代码，这样⾃然更好的。


//printf() 不会在⾏尾⾃动添加换⾏符，运⾏结束后，光标就停留在输出结束的地⽅，不会⾃动换⾏。
//为了让光标移到下⼀⾏的开头，可以在输出⽂本的结尾，添加⼀个换⾏符


// printf( ) 是在标准库的头⽂件stdio.h定义的。使⽤这个函数之前，必须在源码⽂件头部引⼊这个头⽂件。



//占位符：
//printf()可以在输出⽂本中指定占位符。所谓“占位符”，就是这个位置可以⽤其他值代⼊。
//#include <stdio.h>
//int main()
//{
//	printf("There are %d apples\n", 3);
//	return 0;
//}


//输出⽂本⾥⾯可以使⽤多个占位符。
//#include <stdio.h>
//int main()
//{
//	printf("%s says it is %d o'clock\n", "lisi", 21);
//	return 0;
//}


//输出格式:printf()可以定制占位符的输出格式。

//限定宽度
//printf()允许限定占位符的最⼩宽度。
//#include <stdio.h>
//int main()
//{
//	printf("%5d\n", 123); // 输出为"123"
//		return 0;
//}

//scanf
//当我们有了变量，我们需要给变量输⼊值就可以使⽤的时候可以使⽤prinf函数，下⾯看⼀个例⼦：
//#include <stdio.h>
//int main()
//{
//	int score = 0;
//	printf("请输入成绩:");
//	scanf("%d", &score);
//	printf("成绩是：");
//	return 0;
//}

//scanf()的返回值是⼀个整数，表⽰成功读取的变量个数。如果没有读取任何项，或者匹配失败，则返回0。
//如果在成功读取任何数据之前，发⽣了读取错误或者遇到读取到⽂件结尾，则返回常量EOF(-1)。EOF - endoffile ⽂件结束标志
//#include <stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	float f = 0.0f;
//	int r = scanf("%d %d %f", &a, &b, &f);
//	printf("a=%d b=%d f=%f\n", a, b, f);
//	printf("r = %d\n", r);
//	return 0;
//}























































